This invention relates to electronic messaging systems and, in particular relates to systems for managing and organizing electronic messages. Messages may be e-mail messages, voice mail messages, digitized faxes or the like. Specific aspects of the invention provide computer-implemented methods for managing and organizing electronic messages, computer systems for managing and organizing electronic messages, and computer-readable media containing computer instructions which, when executed by the computer cause the computer to perform a method according to the invention.
Electronic messaging, which includes electronic mail (or xe2x80x9ce-mailxe2x80x9d) messaging, is now an accepted, and some would say vital, medium for business and personal communications. The rapid growth of electronic messaging is expected to continue. This growth brings an increasingly serious problem of how to manage the volume of messages. According to a 1998 Pitney Bowes survey, 71% of respondents said they felt overwhelmed by the number of messages they receive. This problem is becoming more severe. John Dvorak, a frequent writer on the topic of computing states in PC Computing magazine that xe2x80x9c . . . we have poor tools to sort and organize (or even find) the e-mail we collectxe2x80x9d.
Electronic messages, which may include attachments of diverse kinds, are sent and received through the use of messaging software. For example, e-mail messages are sent and received by e-mail software such as Microsoft""s OUTLOOK(trademark) or Netscape""s COMMUNICATOR(trademark). Other widely used types of electronic messaging are voice mail, fax and instant messaging. The vast majority of current messaging software is based on design principles that originated when message volumes were low. Current e-mail software, for example, provides rudimentary features for organizing e-mail messages (both incoming and outgoing) into various folders. The most basic model saves received messages in an Inbox folder, messages waiting delivery in an Outbox folder, and sent messages in a Sent Messages folder. Users can create additional user folders to which they can move or copy messages. Refinements to this basic model include providing additional system folders such as Drafts and Wastebasket folders. In general, the user is responsible for moving e-mail messages between folders and for managing the messages once they have been placed into a folder. This can be an onerous responsibility, especially in cases where the user receives large volumes of e-mail messages as may easily occur, for example, if the user subscribes to one or more high volume mailing lists.
A fundamental weakness of this folder/message model is that a message can only exist in a single folder at a time. While a user can place copies of e-mail messages into multiple folders the user must manage the copies separately. If the user wishes to see a message in multiple folders, then he or she must make multiple copies of the message, which results in using additional storage space and in creating more messages that need to be managed. This model also requires that the user manually organize each message. This can lead to cluttered folders and a general lack of organization in the stored e-mail messages that a user accumulates over time.
Further, once an e-mail message has been received it can be difficult to find the message later, especially if there are many folders into which the message could have been placed. This is frustrating and inefficient for the user.
Some current electronic mail software is capable of filtering incoming e-mail messages by applying a series of rules. The filtering rules may be automatically executed each time a message is sent or received. The current version of Microsoft Outlook has a facility which allows users to create such rules, for example. U.S. Pat. No. 6,057,841, Thurlow et al., describes a system for applying a set of electronic message processing rules for managing incoming and outgoing electronic messages. U.S. Pat. No. 5,377,354, Scannell et al., also describes a rules-based filtering mechanism.
Rules can execute specific tasks when user-defined criteria are met. Rules can be used to process electronic messages without requiring users to spent a lot of time sorting through their inboxes deleting, filing, and responding to their messages. While filter rules are powerful, they are also difficult to use because they are typically implemented as a series of instructions against which each message is evaluated. If the number of rules exceeds a relatively small number the overall rule set becomes very difficult to understand. Another disadvantage is that rules must be created manually and can involve a significant amount of effort if a user wants to organize their messages in a thorough manner, such as by correspondent. A further disadvantage is that e-mail systems which apply filtering rules are typically restricted by the folder/message model and cannot organize a message into multiple folders without creating multiple copies of the message. As a result of the foregoing disadvantages many users do not bother to set up such rules. Even when the rules have been set up they act only when a message is sent or received. Such rules are incapable of managing messages after they have been received or sent.
Other features which software vendors have provided in an attempt to help users organize their messages are keywords (also referred to as xe2x80x9ccategoriesxe2x80x9d), tags (also referred to as xe2x80x9cflagsxe2x80x9d), searching tools, and links to other objects such as task lists. While these features improve the manageability of e-mail they are less powerful than filtering rules and have proven inadequate for dealing with higher message volumes.
Keywords and tags let a user highlight and identify messages to distinguish them from other stored messages. A major drawback to these mechanisms is that the highlighted messages are visible only in the folder to which the message belongs. The value of these mechanisms is significantly reduced because there is no fast and convenient way to locate all tagged messages or all messages that have been assigned a given keyword.
Searching is an important tool in dealing with large message volumes. Traditional sequential search techniques are usually too time-consuming to make them very useful for larger message stores. As a result, there have been recent efforts to provide systems which implement full-text indexing and retrieval capabilities for message stores. While searching is an important technique for finding previously sent or received messages, it is not particularly useful or efficient for dealing with messages as they are received and then handled by the user. A search must be performed each time a user wishes to access messages which match a particular set of search criteria. The user is generally forced to manually enter the search criteria. Once a search has been run the results of the search may be placed into a separate xe2x80x9csearch resultsxe2x80x9d folder (in addition to the folder in which the original message resides). Search results folders are not generally useful for organizing electronic messages because of their limited capabilities. Such folders cannot form the basis for a more general purpose solution for organizing messages into multiple folders. For example the Microsoft Platform SDK describes some limitations of MAPI search results folders as follows:
The only way that the contents of a search-results folder can be modified is through the IMAPIContainer::SetSearchCriteria call;
Messages cannot be moved or copied into or out of search-results folders; and,
Search-results folders cannot contain subfolders.
Some software packages allow objects to be linked to gone another. For example, Microsoft Outlook 2000 has a task list. A user can add a shortcut to an electronic message to a task. Outlook 2000 does not provide any facilities to act on the message to which the shortcut refers. The Outlook 2000 task list is not flexible enough for use in the effective organization of electronic messages.
A number of attempts have been made to overcome problems associated with the current folder/message model. These include U.S. Pat. No. 5,948,058, Kudoh et al., which describes a method for cataloging a message into multiple categories. An array of bitmaps in the message is used to identify the categories to which a message belongs. This is a very simple implementation that would have serious performance problems when searching for all messages that belong to a categoryxe2x80x94all messages in the message store would need to be examined.
U.S. Pat. No. 6,029,164, Birrell et al., describes a method for adding labels to messages which are then indexed by a full-text index and retrieval engine. An advantage of the Birrell et al. system over the system of Kudoh et al. is that it provides a rapid global search capability for finding messages with the desired label, and provides the ability for the user to add, modify or delete labels. Some disadvantages of the Birrell et al. system are that messages are processed in batches (for performance reasons) so the index is not always current. Further, a user must execute a search to find messages associated with the desired label.
Miller et al, PCT patent publication No. WO99/04344 disclose an e-mail system in which messages can be accessed in a correspondent-centric manner. The Miller et al. system uses a relational database to organize messages. The underlaying database structure is conventional in design and has a Correspondent table, a Message table and a Message-Correspondent Relationship table. While Miller et al. do provide a system which addresses some of the problems addressed above, Miller et al. do not provide a general solution to the problem of organizing a store of electronic messages. Some shortcomings of the Miller et al. system are as follows:
a separate set of tables is required for each field by which messages are to be organized. The system disclosed by Miller et al. only permits messages to be organized by topic and correspondent;
messages are organized by e-mail addressxe2x80x94no support is provided for grouping messages by correspondent where the correspondent has multiple e-mail addresses;
the list of correspondents can become cluttered with persons with whom no real correspondence is conducted. For example, a large number of correspondent entries would be created if the user accidentally performs a xe2x80x9cReply Allxe2x80x9d operation on a message that has a large distribution list of unknown correspondents.
bulk mail is processed in an identical manner to personally addressed mail.
messages can be read from the database only in ascending MessageId sequence.
There exist computerized systems for organizing data files of various kinds. However, these systems are, in general, not well adapted for use in organizing electronic messages. Some examples of file management systems are described in U.S. Pat. No. 5,544,360, Lewak et al.; U.S. Pat. No. 5,899,995, Millier et al.; and, U.S. Pat. No. 6,009,442 Chen et al.
There is a need for systems and methods which can automatically organize stored electronic messages, such as e-mail messages, instant messages, voice messages and fax messages. There is a particular need for such systems and methods which include tools for automatically managing stored messages. Any such system must be fast. Users are generally unwilling to wait for a messaging system to generate a list of electronic messages in a particular folder. There is particular need for systems which allow a user to quickly locate a message or group of messages of interest especially given the ever increasing load of messages that many users have to deal with. Ideally such systems should help users to separate important messages from less important messages and to manage the flow of messages.
This invention provides a computer-based system for cataloging, retrieving and manipulating electronic messages saved in a message store. Preferred embodiments of the system may be used to automatically organize each of a large number of saved message into multiple folders based on the contents and attributes of the message as well as to facilitate the manual organization of messages. Apparatus according to the invention provides a relational database which uses lightweight message shortcuts to make individual messages available in multiple folders simultaneously. The invention can advantageously be integrated with messaging client software and/or messaging server software, such as e-mail software, to facilitate the organization of electronic messages.
One aspect of the invention provides a method for organizing electronic messages comprising: providing an electronic message, the electronic message comprising a plurality of properties; and, generating a plurality of shortcuts to the electronic message, each of the shortcuts comprising a record in a database, each record comprising a FolderId value associating the shortcut with a different one of a plurality of folders and a MessageId value associating the shortcut with the message.
Further features and advantages of the invention are described below.